#pragma once

#include "tinyxml.h"
#include "Export.h"

#include <map>
using namespace std;

#define GML_DESCRIPTION_ID "d0"

class GraphMLExport : public Export
{
public:
	GraphMLExport();
private: 
	int mNextID;
	map<string,string> mModuleIDMap;
protected:
	virtual string getNextIDStr();
	void generateOutput(string outputName);
	void generateModuleDataOutput(TiXmlElement* parentElement, ModuleData* moduleData, string parentID);
	void generateEdgeDataOutput(TiXmlElement* parentElement, ModuleData* moduleData);
};